A computer that operates a plurality of guest OSs using a hypervisor is known. In such a computer, the amount of resource allocated to each guest OS is adjusted according to a load using the dynamic resource scheduling function of the hypervisor. General examples of resources include physical memories and physical CPUs (Central Processing Units). Moreover, a computer in which a plurality of guest OSs is present in the same casing is also known.
Guaranteed high-availability is essential depending on an application to which such a computer is applied. An example of such an application is a mission-critical application. A hypervisor is a mechanism (typically a computer program or a hardware circuit in which a computer program is embedded) having many functions. Thus, it is difficult to raise the availability of the hypervisor to such a level that the hypervisor can be applied to a mission-critical application. Thus, it is generally difficult to mount a hypervisor on a mission-critical computer.
NPL 1 discloses a hypervisor-based resource scheduling method. According to this method, a CPU scheduler (an example of a resource scheduler) of a hypervisor performs the same operation as a CPU scheduler of an OS (Operating System).
A hypervisor provides virtual execution environments (virtual computers) and handles processes of a guest OS operating on a virtual CPU of each virtual computer as processors. The CPU scheduler on a physical CPU determines which guest OS (processor) is to be scheduled. Further, the hypervisor also executes a process (a resource dispatch/preempt process) of switching the execution context on the physical CPU.